#ifndef __PATH_STACK__
#define __PATH_STACK__
#include <my_header.h>

typedef struct dirNode_s{
    char dirName[128];
    struct dirNode_s* pre;
    struct dirNode_s* next;
}dirNode_t;

typedef struct pathStack_s{
    dirNode_t *first;
    dirNode_t *last;
    int stackSize;
}pathStack_t;

int pathStackInit(pathStack_t *ppathStack);
int pathStackPush(pathStack_t *ppathStack, char *dirName);
int pathStackPop(pathStack_t *ppathStack);
int pathStackPrint(pathStack_t *ppathStack);
int pathStackGet(pathStack_t *ppathStack, char *res_path, int res_size);
int pathStackPrintf(pathStack_t *pathStack,char *path);
int copyStack(pathStack_t *Sstack,pathStack_t *Dstack);
#endif
